import java.util.Collections;
import java.util.Vector;


public class Individuo 
{
	private Vector<Integer> identificadores;
	private int fitness;
	
	public Individuo(Individuo ind)
	{
		this.identificadores = new Vector<Integer>(ind.getIdentificadores().capacity());
		
		for (Integer id : ind.getIdentificadores()) 
		{
			this.identificadores.add(id);
		}
		
		this.fitness = ind.getFitness();
	}
	
	public Individuo(int nelementos)
	{
		identificadores = new Vector<Integer>(nelementos);
		this.fitness = -1;
	}
	
	public Individuo(Vector<Integer> ids, int fitness)
	{
		this.identificadores = new Vector<Integer>(ids.capacity());
		Collections.copy(this.identificadores, ids);
		this.fitness = fitness;
	}
	
	public void imprime()
	{
		for (Integer id : identificadores) 
		{
			System.out.print("" + id + " ");
		}
		System.out.println("Fitness: " + this.fitness);
	}

	/**
	 * @return the identificadores
	 */
	public Vector<Integer> getIdentificadores() {
		return identificadores;
	}

	/**
	 * @param identificadores the identificadores to set
	 */
	public void setIdentificadores(Vector<Integer> identificadores) {
		this.identificadores = new Vector<Integer>(identificadores.capacity());
		for (Integer id : identificadores) 
		{
			this.identificadores.add(id);
		}
	}

	/**
	 * @return the fitness
	 */
	public int getFitness() {
		return fitness;
	}

	/**
	 * @param fitness the fitness to set
	 */
	public void setFitness(int fitness) {
		this.fitness = fitness;
	}
}
